﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities
Imports System.IO
Imports System.Configuration.ConfigurationManager


Partial Class EditarServicio
    Inherits System.Web.UI.Page

    Dim errores As String
    Dim errores2 As String
    Dim mensaje As String
    Public Shared servicio As String



    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then

            'Recuperamos el parámetro enviado
            servicio = Request.QueryString("servicio")

            'Indicamos el producto que está siendo editado
            lblencabezado.Text = "EDICIÓN DEL SERVICIO " & servicio
           
            'Instanciamos las clase 
            Dim capanegociosServicio As New ServicioBL
            Dim capanegociosProveedor As New ProveedorBL

            'Instanciamos la entidad de negocio 
            Dim objeto As New BE.ServicioBE
            objeto.codigo = servicio


            'Invocamos al método ListarTipos definido previamente en la clase
            ddltipos.DataSource = capanegociosServicio.ListarTipoServicios
            ddltipos.DataValueField = "COD_TIPO_SERV"
            ddltipos.DataTextField = "DESC_TIPO_SERV"
            ddltipos.DataBind()

            'Invocamos al método ListarProveedores definido previamente en la clase
            ddlproveedores.DataSource = capanegociosProveedor.ListarProveedores
            ddlproveedores.DataValueField = "COD_PRV"
            ddlproveedores.DataTextField = "RAZ_SOC_PRV"
            ddlproveedores.DataBind()

            'Pintamos en los controles los datos originales del servicio
            Try

                ddltipos.Items.FindByValue(capanegociosServicio.DetalleServicio(objeto). _
                Tables("ElServicio").Rows(0).Item(1)).Selected = True

                ddlproveedores.Items.FindByValue(capanegociosServicio.DetalleServicio(objeto). _
                Tables("ElServicio").Rows(0).Item(2)).Selected = True

                txtnombre.Text = capanegociosServicio.DetalleServicio(objeto). _
                Tables("ElServicio").Rows(0).Item(3)

                txtcarac.Text = capanegociosServicio.DetalleServicio _
                (objeto).Tables("ElServicio").Rows(0).Item(4)

                txtprecio.Text = capanegociosServicio.DetalleServicio _
                (objeto).Tables("ElServicio").Rows(0).Item(5)

                txtstock.Text = capanegociosServicio.DetalleServicio _
                (objeto).Tables("ElServicio").Rows(0).Item(6)


            Catch ex As Exception
                errores = capanegociosServicio.ChapaError
                Response.Redirect("Errores.aspx?id=" & errores)

            Finally
                'Liberamos recursos
                capanegociosServicio = Nothing
                capanegociosProveedor = Nothing
                objeto = Nothing
            End Try
        End If
    End Sub

    Protected Sub btngrabar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btngrabar.Click

        If IsNumeric(txtstock.Text) And IsNumeric(txtprecio.Text) And Val(txtprecio.Text) > 0 Then


            'Hacemos una referencia a la clase
            Dim capanegocios As New ServicioBL
            Dim objeto As New BE.ServicioBE

            'Llenas las propiedades
            objeto.codigo = servicio
            objeto.tiposervicio = ddltipos.SelectedItem.Value
            objeto.proveedor = ddlproveedores.SelectedItem.Value
            objeto.nombreservicio = txtnombre.Text
            objeto.caracteristicas = txtcarac.Text
            objeto.precio = txtprecio.Text
            objeto.stock = txtstock.Text


            If elarchivo.PostedFile.ContentLength = 0 Then
                'Si no se escoge una imagen consideramos la imagen por defecto del producto
                objeto.foto = capanegocios.DetalleServicio(objeto).Tables("ElServicio").Rows(0).Item(7)
            Else
                objeto.foto = "Pictures" & "/" & Path.GetFileName(elarchivo.PostedFile.FileName)
            End If





            If capanegocios.ActualizarServicio(objeto) = True Then

                If elarchivo.PostedFile.ContentLength <> 0 Then

                    ''Procedemos a "levantar" la imagen del producto al servidor
                    Dim grabaren As String
                    ''grabaren = "C:\INETPUB\WWWROOT\ECOMMERCEVS2005\PICTURES\" & Path.GetFileName(elarchivo.PostedFile.FileName)
                    grabaren = AppSettings("RutaArchivos") & Path.GetFileName(elarchivo.PostedFile.FileName)
                    elarchivo.PostedFile.SaveAs(grabaren)


                    mensaje = "Se actualizó el servicio"
                    Dim script As String = "<script language=Javascript>"
                    script += "alert('" & mensaje & "');"
                    script += "</script>"
                    Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", script)
                End If

                Response.Redirect("MantServicicos.aspx")

            Else
                mensaje = "Los datos no pudieron ser registrados"
                Dim script As String = "<script language=Javascript>"
                script += "alert('" & mensaje & "');"
                script += "</script>"
                Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", script)

            End If

            capanegocios = Nothing
            objeto = Nothing

        Else
            mensaje = "ingrese  informacion correcta en los campos"
            Dim script As String = "<script language=Javascript>"
            script += "alert('" & mensaje & "');"
            script += "</script>"
            Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", script)

        End If

    End Sub
End Class
